package netty.buf;

import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;

/**
 * description:
 * author:zt
 * date:2021-09-22
 */
public class NettyByteBuf01 {
    public static void main(String[] args) {
        //ByteBuf 底层是一个 byte数组
        //在netty的buffer中，不需要使用flip进行读写反转
        // 因为底层维护了readerIndex 和 writeIndex
        /**
         * 通过 readerIndex 和 writeIndex 和 capacity 将buffer分成三个区域
         * 0---readerIndex  已经读取的区域
         * readerIndex---writeIndex  可读的区域
         * writeIndex---capacity  可写的区域
         */
        ByteBuf buffer = Unpooled.buffer(10);

        for (int i = 0; i < 10; i++) {
            buffer.writeByte(i);
        }

        System.out.println("capacity = " + buffer.capacity());

        for (int i = 0; i < buffer.capacity(); i++) {
            System.out.println(buffer.readByte());
        }
    }
}
